1. Technical Field
Aspects of this disclosure relate generally to acceleration of computer processes and significantly simplified computer hardware upgrades through the use of FPGA (“Field Programmable Gate Array”). Aspects relate more specifically to implementations of a computer, and in specific implementations a personal computer or a handheld gaming system computer, using virtual hardware enabled by the FPGA and a system and method for upgrading a computer's hardware through an on-line system.
2. Background Art
Video game software taxes computing system resources faster than any other software market segment. Programs such as presentation, word processing, spreadsheet email, database and even most multimedia software do not utilize computer processor resources to their design limits as much as most state of the art video game software. System processors can only execute instructions in a sequential order (linearly) and typically only one instruction per clock cycle. FIG. 1 illustrates a typical central processing unit (“CPU”) process loop 2 to emphasize the linear nature of the different types of processes that are evaluated and a possible sequence for those processes. Computer owners who desire more advanced software typically are required to replace portions of the hardware of their computers to enjoy the benefits of the newest software advances. The software limitations caused by processor utilization limits require programs to be less complicated and limited the detail of visual data possible. Programs which encroach on a processor's average limited idle time risk program lags. Lags generally result in a delayed drawing and/or movement of visual data and pose a severe limitation to what technology could offer in terms of game software.
Over the past decade, the use of Visual Processor Units (“VPU”) has become standard in most personal computers. The VPU is a circuit separate from the CPU (“Central Processing Unit”) that handles much of the video analysis and drawing for 2D and 3D visual displays. This ability of a CPU to offload video processes to a VPU resulted in a significant advance in the ability of computers to process video signals and significantly increased the overall computer processing speed. Processes such as 2D and 3D work and transformations, lighting, triangle setup and clipping, rendering and monitor driving (RAMDAC) could now be handled by a separate process cycle in separate hardware. This enabled more aggressive detail in game capability due to greater CPU process cycle 2 time availability. FIG. 2 illustrates the cycle time that is freed up by transferring graphics duties to a VPU process cycle 6 from the CPU process cycle 4. Prior to VPUs, the CPU was responsible for processing essentially all processes for the computer. However, even conventional VPUs still process linearly within the VPU.
Tablet PCs with touch control and handwriting recognition was introduced and offered increased user functionality over conventional LCD monitors. A touch panel virtually eliminates the need for other external input devices such as a keyboard or mouse for normal use. However, the new touch sensitive interface further stresses CPU resources as its complicated algorithms of converting touch, drag and single point taps into commands that the processor and operating system can understand. Additional time for these tasks adds to the overall loading on a CPU process. This can further exacerbate program lag and tax processor capability. Video games for tablet PCs are not currently recommended due to the increased CPU overhead required.
FIG. 3 illustrates yet another example of offloading of typical CPU processes 8 to a VPU process 10 used in a touch screen computer application such as a Tablet PC. The handwriting recognition and touch control processes use CPU process 8 cycle time such that the total CPU process 8 cycle is almost full even with the graphics tasks offloaded to the VPU process cycle 10.
It is also known to include a field programmable gate array (“FPGA”) to substitute for certain predetermined processes as disclosed in U.S. Pat. No. 6,775,760 to Shigeki (issued Aug. 10, 2004), the disclosure of which is hereby incorporated herein by reference.
Other separate dedicated computer circuits have also been added to computers to further relieve the CPU by allowing it to offload processes as well. These additional circuits are typically added to a desktop, mobile or personal computers in the form of a separate computer board or “card” coupled to the motherboard through an available PCI (“peripheral computer interconnect”) port. For example, sound cards, handwriting recognition cards, Firewire signal processing cards, joystick cards, and the like. Any type of device connection that the computer was not originally designed to receive must be added through a separate module that is somehow attached to the motherboard. This additional hardware is costly, is typically something that the ordinary computer user cannot install without professional help, and due to the cost and difficulty often results in the computer user simply replacing the entire system with one with the desired capability built-in rather than paying someone to physically upgrade the hardware for their existing system.